<?php
	
	date_default_timezone_set('Europe/Rome');

	if(isset($_GET['sAPP']) && !empty($_GET['sAPP'])) {
		$sAPP = $_GET['sAPP'];	
	} else {
		die('ERROR: App not defined');
	}

	require_once "../$sAPP/include/const.inc.php";
	require_once "../$sAPP/include/functions.php";
	require_once "auth.inc.php";
	require_once "conn.inc.php";
	
	fnGetValueFromGET(array('sField','sValue','sAction','iSetting','sTable','sAPP'));
	
	$sScript = fnCurrentScript();
	
	$iAccessLvl = (!is_null(fnGetAccessLvl('table', $sTable)) && fnGetAccessLvl('table', $sTable) == -1 ? fnGetAccessLvl('table', $sTable) : max(fnGetAccessLvl('app'),fnGetAccessLvl('table', $sTable)));
	
	/**
	 * SPIEGAZIONE: se l'accesso a $sTable è negato, lascio come valore di $iAccessLvl -1 (ovvero:
	 * "accesso negato"). Altrimenti tengo valido il valore più grande tra $iAccessLvl per $sTable
	 * (se è stato definito) e $iAccessLvl per sAPP (che sicuramente è stato definito).
	 *
	 */
	 
	if (is_allowed('sysop', $iAccessLvl)) {
	
		switch ($sAction) {
			
			case "toggle":
				$sQuery = "UPDATE `settings` SET `$sField` = '$sValue' WHERE `id` = '$iSetting'";
				$rResult = custom_mysql_query($sQuery);	
				$sOutput = fnJsonOutput($sScript, $sAction, '', 0);
				break;
			
			case "trash":
				$sQuery = "DELETE FROM `settings` WHERE `id` = '$iSetting'";
				$rResult = custom_mysql_query($sQuery);	
				$sOutput = fnJsonOutput($sScript, $sAction, '', 0);
				break;
				
			default:
				fnUpdateLog('ACTION NOT VALID', 0, 'settings', 'E');
				$sOutput = fnJsonOutput($sScript, $sAction, '', 101);
				break;
		
		}
		
	} else {
		fnUpdateLog('LOW RIGHTS', 0, 'settings', 'S');
		$sOutput = fnJsonOutput($sScript, $sAction, '', 999);
	
	}
	
	echo $sOutput;

?>